查看原文
其他

DeFi 低调分享 | 如何空手套白狼51 个BTC

Bowen Hydro社区 2021-01-13

从昨天晚上所有DeFi 相关的群里就热闹了起来
主要是 因为 bZx  受到 Oracle (预言机)攻击, 存币用户受到了损失 。 

很多分析没有一步一步解释黑客是怎么通过声东击西, 在5个 DeFi 产品中, 以0成本套利。 




我们梳理了整个攻击过程。



结论:

黑客通过多合约调用,在一笔链上交易中, 用0抵押金, 让bZx  借贷池损失51.34 BTC, 在Compound 得到18w 美金等值的存款。 
bZx 锁定管理权限,黑客没有成功提取51.34 BTC 盈利。 




简单介绍一下 bZX

bZx是一种去中心化的保证金交易协议。 
Fulcrum (bZx 产品名)的功能是能够使用代币作为抵押来借贷。
为了确定需要多少抵押品去借钱,bZx使用Kyber作为链上预言机来检查抵押品和借贷的比例。

简单来说, bZx 类似一家银行, 用户通过抵押虚拟货币, 加杠杆借贷。
和银行一样, 用户抵押100元的房子(BTC, ETH) , 换出 66元的现金(DAI, USDC )

但是银行的借款, 贷款, 清算都是一家机构独立完成。
然而bZx 的保证金交易依赖 Kyber 的链上流动性和报价。
也就是说 bZx 对抵押品的价格的估算, 是依靠Kyber 完成的。

我们了解一下Kyber网络的功能。
Kyber网络从储备(Reserve)中获取流动性。
当用户想要在两个代币A和B之间进行交易时,
主Kyber合约将查询所有已注册的储备金以获取A / ETH和ETH / B之间的最佳汇率,
然后使用所选的两个储备金进行交易。


黑客通过操控Kyber 和 Uniswap WBTC/ ETH 的价格, 完成了空手套白狼的交易。 




黑客攻击步骤 : 

  1. 从dydx , 0抵押物, 借 1万个 ETH


  2. 在Compound  存 5500 ETH,  借 112 BTC 【这笔钱最后没有还!】


  3. 在bZx 存1300 ETH, 5倍杠杆做空, 借 5637 ETH 【这笔钱最后也没有还!】

  4. 通过Kyber Reserve 到 Uniswap WBTC pool  卖5637 ETH 【150万美金】, 获得 51.34BTC   【51万美金】



更细节的交易顺序 


     

     5.把Compound 借出来的 112 BTC , 在 Uniswap WBTC pool 卖112 WBTC, 获得 6800 ETH


    6.将3200 ETH 【从来没用过】 +  6800 ETH 【卖112 BTC 获利】 = 10000 ETH  还给dydx 



那么问题来了:
谁赚了钱 ?
谁赔了钱?
到底谁犯了错? 



结论 : 

  • Compound 得到了 2,213.26 ETH 充值,$ 359,839.76 的 WBTC 借贷。清算人会赚钱。

  • dydx 被免费使用。0收入。  

  • Kyber 的 Proxy 不够强壮。

  • Uniswap 浅的池子根本不能做Oracle 。

  • bZx 的 iETH 池充值的人损失了 ,但是WBTC 池充值的人赚钱了。所以bzx 锁了WBTC 池黑客的钱, 准备付给iETH 池子损失的人。







利益相关: 


DDEX Margin 是一个去中心化交易平台, 可以杠杆交易, 借贷, 生息。DDEX Margin 通过在以太坊上的智能合约完成100%保证金交易。

  • 随存随取, 秒赚利率, USDT, USDC, DAI, ETH, WBTC 

  • 最高5倍杠杆, 看涨看空 ETH, BTC 

  • 智能合约由MakerDao 外部审计团队 PeckShield 保驾护航 



作者微信

bowenwangcrms 



【往期文章】


万字说透defi |去中心化借贷 | 币安被盗 | 稳定币的稳定币NUSD | 揭秘bitfinex | 3种DEX模型 | 抢先交易 | 百亿美金DeFi市场,还需要一个它 | 世界货币失败史 | 美股交| DeFi 投资密码 | 一个人的量化基金 | 用 Dai 做空美股 | Facebook 发币 | J.P.摩根发币 | WBTC的V神小意见   | 去中心化交易所 2019 | 以太坊 2018



Modified on

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存